Shop2 = {}

function function_4(param0)
	myvar_1 = Neighborhood["new"]()
	myvar_2 = GetSimulatorGlobal(SimulatorGlobal["Current House"])
		if (nBusiness["LotHasBusiness"](myvar_2) ~= 1) then 
	

		SetScriptReturnValue(False)
		local myvar_3 = 1
		return myvar_3
	end
	
	myvar_3 = myvar_1["getLotOwner"]
	myvar_3 = myvar_3(myvar_1, myvar_2)
	myvar_4 = CachedPerson["new"](param0)
	myvar_5 = myvar_4["getPersonData"](myvar_4, PersonData["neighbor id"])
		if (0 < myvar_3) then
			if (myvar_5 == myvar_3) then
			return Shop2Tuning["OwnerMultBonus"]
		end
		myvar_7 = CachedNeighbor["new"](myvar_3)["getPersonData"](CachedNeighbor["new"](myvar_3), PersonData["family number"])
			if (myvar_4["getPersonData"](myvar_4, PersonData["family number"]) == myvar_7) then
			return Shop2Tuning["FamilyMemberMultBonus"]
		end
		myvar_8 = BusinessInfo["new"](myvar_2)
			if (myvar_8["isEmployee"](myvar_8, myvar_5) ~= 0) then 
	

			return Shop2Tuning["EmployeeMultBonus"]
		end
	end
	local myvar_6 = 1
	return myvar_6
end

Shop2["OwnerEmployeeMultBonus"] = function_4

function function_7(param0, param1)
		if (param0 == "ratingSkillFlags") then
		return (0.6 * Shop2Tuning["averageMotiveScoreMultiplier"])
	end
		if (10 <= param1) then
	else
			if (9 <= param1) then
		else
				if (8 <= param1) then
			else
					if (7 <= param1) then
				else
						if (6 <= param1) then
					else
							if (5 <= param1) then
						else
								if (4 <= param1) then
							else
									if (3 <= param1) then
								else
										if (2 <= param1) then
									else
											if (0 < param1) then
										else
											return 0
										end
									end
								end
							end
						end
					end
				end
			end
		end
	end
	return (Shop2Tuning["averageMotiveScoreTuning"][param0][1] * Shop2Tuning["averageMotiveScoreMultiplier"])
end

Shop2["GetAverageMotiveBonus"] = function_7

function function_10(param0, param1)
	local myvar_3 = 0
	local myvar_4 = 0
	local myvar_5 = 0
	{R9},myvar_10,myvar_11,{R12} = pairs(param0)
	for myvar_11, loopvar2 in pairs(myvar_10) do 
		if (GetObjectData(loopvar2, ObjData["room"]) ~= -1) then
			if (GetObjectData(loopvar2, ObjData["lead tile object ID"]) == loopvar2) then
			myvar_5 = GetObjectDefinitionField(GetMasterSelector(GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2)), param1)
				if (0 < myvar_5) then
					if ({}[GetMasterSelector(GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2))] == nil) then
					{}[GetMasterSelector(GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2))] = Shop2Tuning["DiminishingReturnsPenalty"]
				else
					{}[GetMasterSelector(GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2))] = ({}[GetMasterSelector(GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2))] + Shop2Tuning["DiminishingReturnsPenalty"])
						if (({}[GetMasterSelector(GlobalObjManager["getObjectGUIDFromObjectId"](GlobalObjManager, loopvar2))] + Shop2Tuning["DiminishingReturnsPenalty"]) <= (Shop2Tuning["DiminishingReturnsPenalty"] * Shop2Tuning["AllowedDupesBeforePenalty"])) then
						local myvar_8 = 0
					else
						myvar_8 = myvar_8 - (Shop2Tuning["DiminishingReturnsPenalty"] * Shop2Tuning["AllowedDupesBeforePenalty"])
					end
						if ((myvar_5 - myvar_8) < (myvar_5 / Shop2Tuning["DiminishingReturnsMinimumDivisor"])) then
						myvar_5 = myvar_5 / 2
					else
						myvar_5 = myvar_5 - myvar_8
					end
				end
				myvar_4 = myvar_4 + 1
				myvar_3 = myvar_3 + myvar_5
			end
		end
	end
	end
		if (myvar_4 ~= 0) then
		myvar_10 = myvar_4
		myvar_11 = myvar_3
		; //SETLIST
		return {}
	else
		myvar_10 = myvar_4
		myvar_11 = myvar_3
		local myvar_12 = 0
		; //SETLIST
		return {}
	end
end

Shop2["GetLotAverageMotiveScore"] = function_10
